package com.eugeneMa.service.inter;

import com.eugeneMa.entity.ClassTime;
import com.eugeneMa.entity.Result;

/**
 * 学习铃Service接口
 *
 * @author Eugenema
 * @date 2022/3/31 15:27
 */
public interface ClassTimeService {
    /**
     * 获取用户的所有课时表
     *
     * @author Eugenema
     * @date 2022/3/31 15:30
     *
     * @param userId 用户ID
     *
     * @return 结果集
     **/
    Result getClassTimeByUserId (Integer userId);

    /**
     * 获取课时表计划
     *
     * @author Eugenema
     * @date 2022/3/31 23:21
     *
     * @param classTimeId 课时表ID
     *
     * @return 结果集
     **/
    Result getClassTimePlan (Integer classTimeId);

    /**
     * 新增课时表
     *
     * @author Eugenema
     * @date 2022/4/4 15:27
     *
     * @param classTime 课时表对象
     *
     * @return 封装结果集
     **/
    Result addClassTime (ClassTime classTime);

    /**
     * 根据id删除课时表
     *
     * @author Eugenema
     * @date 2022/4/8 16:02
     *
     * @param id 课时表ID
     * @param userId 用户ID
     *
     * @return 封装结果集
     **/
    Result deleteClassTimeById (Integer id, Integer userId);
    
    /**
     * 判断课时表名称是否已存在
     *
     * @author Eugenema
     * @date 2022/4/16 12:54
     *
     * @param userId 用户ID
     * @param designation 要校验的课时表名称
     *
     * @return 校验结果，若已存在，返回true，异常或不存在返回false
     **/
    Result designationSame (Integer userId, String designation);

    /**
     * 编辑课时表
     * 只能编辑自己的课时表
     *
     * @author Eugenema
     * @date 2022/4/16 13:43
     *
     * @param classTime 编辑后的课时表
     *
     * @return 若编辑成功，返回true，反之返回false
     **/
    Result editClassTime (ClassTime classTime);
}
